<?php 

$str = "510601199407027615";

$preg = "/^[1-6][0-7][0-9]{4}((19[0-9]{2})|(20(0[0-9]|1[0-7])))(0[1-9]|1[0-2])(0[1-9]|[1-2][0-9]|3[0-1])\d{3}?([0-9]|x)$/i";




    //^匹配字符串的开始

   // $匹配字符串的结束，忽略换行符\n

$n = preg_match($preg,$str);  //preg_match()   执行一个正则表达式匹配。

var_dump($n);


 ?>